home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Mousetools / SnapWindow / SnapWindow.Doc < prev    next >
Text File  |  1996-09-26  |  11KB  |  278 lines

  1.  
  2.  
  3.                           SnapWindow Version 1.0
  4.  
  5.          Written By, Jason Scott Chvat. Copyright 1993 SilverSoft.
  6.  
  7. This program is SHAREWARE. NOT PD!! You may distrubite it to anyone you
  8. wish granted, that no profit is made from this transaction. Please note,
  9. this is only version 1.0. THERE ARE BUGS! All programs have them, I have
  10. gone absolutely bonkers trying to crash the program in every way possible
  11. to get the bugs out of it. If you locate any problems or have suggestions
  12. for the next version 1.1 please contact me (Handle: SilverSurfer) through 
  13. the BLACK RAINBOW at (714)-586-6836.
  14.  
  15. WARNING: Author is not responsible for any problems/loss of data resulting
  16. from the use of this program.
  17.  
  18. ============================================================================
  19.  
  20. WHAT IS SNAPWINDOW?
  21.  
  22.   Simply stated, SnapWindow is a small utility that I created to help me
  23. handle my workbench windows. Although, it isn't limited to just the workbench
  24. What's wrong with the workbench you ask? Well, for those of you who program 
  25. or run a bunch of different tasks simutaneously, the workbench can be an
  26. utter disaster area. I normally have am running an editor, two separate
  27. shells (in case one decides to freeze up on me), a debugger, and a
  28. communications program. This leads to a lot of confusion as to which window
  29. to throw out so I can find what I am looking for. So I figured hey why not
  30. attach these suckers to function keys. That way I can hit f1 and bring up
  31. my editor and type, hit f2 and bring up my cli to compile, and later f3 to
  32. find out if I am done leeching from various BBS's.
  33.  
  34. So does that answer the question?
  35.  
  36. ============================================================================
  37.  
  38. KNOWN PROBLEMS/HOW IT WAS WRITTEN:
  39.  
  40. 1. This program WILL crash your system as would any other that uses the
  41. SetFunction() command. In other words, I patch the intuition library in
  42. quite a few places. So if one program tried to open/close a window while
  43. SnapWin is changing (exiting most likely) the library vectors, YOU WILL
  44. HAVE A PROBLEM. How do you get around it? Not easily! I haven't had any
  45. problems with it, actually I can't even get it to call the functions at the
  46. same time so I wouldn't really worry. In addition, the patch counts how
  47. many tasks are currently using it, and won't exit until everyone is
  48. finished doing there thing. 
  49.  
  50.   - Best precaution I can give -
  51.  
  52.   DON'T OPEN A WINDOW WHILE SNAPWIN IS PATCHING INTUITION!
  53.  
  54.  
  55. 2. SnapWin was written almost entirely in Aztec C Ver 5.1, except for a few
  56. minor assembly subroutines. Hopefully, the entire input-handler will be
  57. rewritten in assembly *as soon as I get 20 minutes to myself*. Source code
  58. is not available for ver1.0 at this time for 1 basic reason- It's a mess! I
  59. have subroutines in about 10 different files, with backup versions all over
  60. my hard drive. When I sort out the files, clean up the source code, and
  61. release the next version I will put out some kind of sample source. (not
  62. that it is astonishing or anything, I am just too embarrassed to exhibit
  63. source code that looks like it got hit by the Dpaint SMEAR function!)
  64.  
  65. ============================================================================
  66.  
  67. SPECIAL THANKS:
  68.  
  69.   I would like to thank my bud, Geoff Wiley at the Computer Guild in
  70. Mission Viejo California for being cool, and helping me set up an awesome
  71. Amiga 500. In addition, to his suggestions for User Interface, and
  72. additional doo-dads.
  73.  
  74.   Also, My girlfriend for putting up with me getting peeved because the
  75. assembly patches I was writting kept crashing (register trashing is fun).
  76.  
  77.   Keep making amiga great! Don't give in to temptation, and practice safe
  78. programming. Viruses these days can be mighty nasty.
  79.  
  80.  
  81.                               COMPUTER GUILD
  82.                       24001 Via Fabricante St. 1003/4
  83.                           Mission Viejo, Ca 92691
  84.                               (714)-951-1355
  85.  
  86. ============================================================================
  87.  
  88. HOW TO LOAD SNAPWIN:
  89.  
  90.   SnapWin is linked with detach.o (copyright Aztec C) a program that make
  91. SnapWin create its own process. In other words you don't have to RUN the
  92. darn thing. (I would have loved to done this portion of the programming
  93. myself, but for some reason playing around with seglists doesn't really
  94. compare to the EXCITEMENT of mass input programming.)
  95.  
  96.   So simply stated type this: SnapWin. (wo, that's hard!)
  97.  
  98.  
  99.           [NOTE RUNNING FROM THE WORKBENCH IS JUST AS DIFFICULT]
  100.  
  101.  
  102.   For the workbench: Click on the SnapWin icon.
  103.  
  104. ============================================================================
  105.  
  106. WHAT THE GADGETS ARE FOR:
  107.  
  108.   SnapWindow Ver1.0 has 10 different gadgets attached to its help window.
  109. These gadgets each have a different function. In addition one or more of
  110. these gadgets may not be enabled in this particular version.
  111.  
  112.                (That's what revisions and updates are for)
  113.  
  114. MOUSESPEED-  This gadget simply toggles the mouse accelerator on and off.
  115. If it is checked the accelerator is on.
  116.  
  117. WINDOWFKEYS- This gadget toggles the function keys on and off. In other
  118. words if you are using a terminal, or painting utility and it has function
  119. key that you wish to use, you can simple turn off SnapWindows function
  120. keys. This way, you don't have to have a window pop up when you are trying
  121. to use a macro.
  122.  
  123. WINDOWAUTOSELECT- To be used to select whether SnapWindow should patch
  124. Intuition or not. Basically, I think this is the most useful/beneficial
  125. part of the SnapWindow utility. WindowAutoSelect (as I like to call it)
  126. will automatically assign a [EMPTY] function key to any window that is
  127. opened.
  128.  
  129. SUNMOUSE- At regular intervals the program will activate any window
  130. underneath the mouse pointer that is not already active. If this option is
  131. on (of course).
  132.  
  133. BLANKER- A simple screen blanker. Go away and watch the screen turn black.
  134. Neat Huh?
  135.  
  136. HIDE- Will close the SnapWindow HELP requester. To bring the requester
  137. back up simply hit the [HELP] key. Ingenious eh?
  138.  
  139.  
  140. NOTES:
  141.  
  142.   - The scroll box at this point in time serves only one real purpose: To
  143.     list what windows are assigned to what function keys. It will have a more
  144.     intricate role in later versions. However, for now it serves its purpose.
  145.  
  146.   - The last two gadgets REMOVE and RAMIGA/RAMIGA+ALT are at this time
  147.     also considered to be inactive.
  148.  
  149.   ** DON'T ASK ME WHY they are there if they do not function, They just do
  150.   ** not function yet that's all!
  151.  
  152.  
  153. ============================================================================
  154.  
  155. WHAT ARE THE MENUS FOR:
  156.  
  157. PROJECT MENU
  158. ============
  159.  
  160. ABOUT-  Gives you a little information, and besides I think it's pretty.
  161.  
  162. NEW-  Resets all the function keys so that they are "EMPTY".
  163.  
  164. LOAD & SAVE-  Save and Load specific configuration files. The program will
  165. automatically examine "DEVS:Snap.CFG" at start up. Some additional
  166. benefits will be associated with these functions at a later date...
  167.  
  168.               (Don't you wish you knew!?!? It's good though)
  169.  
  170. QUIT-  If you don't know, I am not going to tell you!
  171.  
  172. ===========================================================================
  173.  
  174. HOW TO USE SNAPWINDOWS:
  175.  
  176. 1. To assign a window press the left-amiga key and the function key you
  177. wish to assign the CURRENT/ACTIVE window to. The window's title should
  178. then appear in the listbox on the help window. To release a particular
  179. key, use the remove gadget.
  180.  
  181. 2. The function keys, and other utilities will remain active while the
  182. HELP window is not open.
  183.  
  184. 3. One additional feature of SnapWindows is the ability to type directly
  185. into any window without it being active. Just position the mouse above the
  186. window you wish to type into and go for it.
  187.  
  188. 4. If a window is located on a separate screen the function keys will
  189. bring the screen and window into view. Kind of like right amiga m except
  190. that specific function keys will contain specific screens.
  191.  
  192. 5. The HELP key will bring SnapWindow's requester up on the CURRENTLY
  193. ACTIVE screen. So if you are using dpaint... and hit help snapwindow will
  194. pop up. (Unless, you restrict it to the workbench only) 
  195.  
  196. ===========================================================================
  197. WHAT IS THE PREFERENCES GADGET FOR?
  198.  
  199.     The preferences window let's you set some additional flags and
  200. restricitions on SnapWindow. 
  201.  
  202. SUNMOUSE DELAY- Sets how many seconds to wait before activating the window
  203. located directly underneath the pointer.
  204.  
  205. BLANKER DELAY- Sets how many seconds to wait before blanking out the
  206. screen.
  207.  
  208. KEYBOARD WINDOW ACTIVATION- If this is selected then SnapWin will
  209. automatically select the window under the mouse pointer when a key is hit. 
  210.  
  211. CAPTURE 2.0+ WINDOWS ONLY- Will only add/assign a window to a function key
  212. if the window uses the OpenWindowTag() function. In other words SnapWin
  213. will only auto select window created to run under 2.0. If the gadget is not
  214. selected then SnapWin will select any windows opened. 
  215.  
  216. ACTIVE ON WBENCH ONLY- SnapWin's Function keys, and Sunmouse functions will
  217. only be active on the workbench. 
  218.  
  219. REMAIN QUIT- SnapWin will not bring up it's "OK"/"CANCEL" requester.
  220.  
  221. ============================================================================
  222.  
  223. Technical Info:
  224.  
  225. 1. SnapWindows sets up a port called "SnapPort" that is used for relaying
  226. messages from its input handler and intuition patches. It isn't wise to
  227. screw around with this port. But if you must know the message structure
  228. being used is the following:
  229.  
  230.                     struct HandlerMessage
  231.                       {
  232.                       struct Message h_msg;
  233.                       struct InputEvent ev;
  234.                       struct Window *win;
  235.                       USHORT flag;
  236.                       };
  237.  
  238.  
  239. 2. On certain screens if the SnapWindow screen is brought up it will
  240. destroy the contents of the screen. I assume this is the result of other
  241. progams not using a SMART_REFRESH window. In either case, be cautious. I
  242. have also noticed under certain conditions if you try to close a screen
  243. while SnapWindow is open on it, this will become rather hairy. So, do
  244. yourself a favor and HIDE SnapWindow before closing a screen. 
  245.  
  246. Any other technical question can be directed to me at the BLACK RAINBOW.
  247.  
  248. ===========================================================================
  249.  
  250. I hope these documents help out.
  251.  
  252. NOTE:
  253.  
  254.   If you enjoy the use of this product and wish to receive more
  255. information, updated versions or to become registered please send a 
  256. contribution of $10. Let's all remember I am a student and have
  257. more important things to be worrying about than programming.
  258. However, I must admit it is a most enjoyable hobbie.
  259.  
  260.                               SPECIAL NOTICE
  261.  
  262.   I have for some unkown reason decided to release this EARLY. All notices 
  263. are still effective. However, please NOTE: Some of the additional functions
  264. that I have installed or are being installed are not available yet. This 
  265. is a ALPHA testing version. Please give any feedback... and all 
  266. contributers will receive a spiral notebook with source code, updated    
  267. instructions, and a disk with the newest version. (The source code will 
  268. be supplied with a $15-20 contribution)
  269.  
  270. Jason Scott Chvat
  271. 28 Brookstone
  272. Irvine, Ca 92714
  273.  
  274. I can also be found frequenting the UCI Library. :)
  275.  
  276. ===========================================================================
  277. Le finale.
  278.